package chenji.dailykit.kit;

import java.util.HashSet;

import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.inventory.ItemStack;
/**
 * @author ChenJi Copyright (c) 2016 ChenJi. All rights reserved.
 */
public interface Kit {
	/** 
	 * 获取这个礼包的识别名
	 * 
	 * @return String
	 */
	public String getKitName();

	/**
	 * 设置这个礼包的识别名（KitCenter调用）
	 */
	public void setKitName(String name);

	/**
	 * 获取这个礼包模板的识别名
	 * 
	 * @return String
	 */
	public String getName();

	/**
	 * 获取这个礼包的在菜单中展示的物品
	 * 
	 * @return ItemStack
	 */
	public ItemStack getShowinMenuItem();

	/**
	 * 获取这个礼包的展示物品
	 * 
	 * @return 展示物品
	 */
	public ItemStack getShowItem();

	/**
	 * 获取打开礼包所需要的权限
	 * 
	 * @return String
	 */
	public String getPermission();

	/**
	 * 设置打开礼包所需要的权限（KitCenter调用）
	 * 
	 * @param premission
	 */
	public void setPermission(String premission);

	/**
	 * 设置这个礼包的在菜单中展示的物品（KitCenter调用）
	 *
	 */
	public void setShowinMenuItem(ItemStack item);

	/**
	 * 设置这个礼包的展示物品（KitCenter调用）
	 * 
	 */
	public void setShowItem(ItemStack item);

	/**
	 * 从Configuration里加载配置信息，若成功则返回true，若加载失败则返回false
	 * 
	 * @return boolean
	 */
	public boolean loadSettingsPath(FileConfiguration f, String Path);

	/**
	 * 
	 * 获取礼包内含物品列表
	 * 
	 * @return HashSet<ItemStack>
	 */
	public HashSet<ItemStack> getItemList();

	/**
	 * 设置礼包物品列表（KitCenter调用）
	 * 
	 * @param set
	 */
	public void setItemList(HashSet<ItemStack> set);

}
